/*
* This file is part of Project SkyFire https://www.projectskyfire.org.
* See LICENSE.md file for Copyright information
*/

#ifndef SKYFIRE_SPELLAURADEFINES_H
#define SKYFIRE_SPELLAURADEFINES_H

#define MAX_AURAS 64                                        // client support up to 255, but it will cause problems with group auras updating

enum AURA_FLAGS
{
    AFLAG_NONE = 0x00,
    AFLAG_CASTER = 0x01,
    AFLAG_POSITIVE = 0x02,
    AFLAG_DURATION = 0x04,
    AFLAG_ANY_EFFECT_AMOUNT_SENT = 0x08,
    AFLAG_NEGATIVE = 0x10
};

// these are modes, in which aura effect handler may be called

enum AuraEffectHandleModes
{
    AURA_EFFECT_HANDLE_DEFAULT = 0x0,
    AURA_EFFECT_HANDLE_REAL = 0x01, // handler applies/removes effect from unit
    AURA_EFFECT_HANDLE_SEND_FOR_CLIENT = 0x02, // handler sends apply/remove packet to unit
    AURA_EFFECT_HANDLE_CHANGE_AMOUNT = 0x04, // handler updates effect on target after effect amount change
    AURA_EFFECT_HANDLE_REAPPLY = 0x08, // handler updates effect on target after aura is reapplied on target
    AURA_EFFECT_HANDLE_STAT = 0x10, // handler updates effect on target when stat removal/apply is needed for calculations by core
    AURA_EFFECT_HANDLE_SKILL = 0x20, // handler updates effect on target when skill removal/apply is needed for calculations by core
    AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK = (AURA_EFFECT_HANDLE_SEND_FOR_CLIENT | AURA_EFFECT_HANDLE_REAL), // any case handler need to send packet
    AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK = (AURA_EFFECT_HANDLE_CHANGE_AMOUNT | AURA_EFFECT_HANDLE_REAL), // any case handler applies effect depending on amount
    AURA_EFFECT_HANDLE_CHANGE_AMOUNT_SEND_FOR_CLIENT_MASK = (AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK | AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK),
    AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK = (AURA_EFFECT_HANDLE_REAPPLY | AURA_EFFECT_HANDLE_REAL)
};

//m_schoolAbsorb
enum DAMAGE_ABSORB_TYPE
{
    ALL_DAMAGE_ABSORB = -2,
    ONLY_MAGIC_ABSORB = -1
};

enum AuraType
{
    SPELL_AURA_NONE = 0,
    SPELL_AURA_BIND_SIGHT = 1,
    SPELL_AURA_MOD_POSSESS = 2,
    SPELL_AURA_PERIODIC_DAMAGE = 3,
    SPELL_AURA_DUMMY = 4,
    SPELL_AURA_MOD_CONFUSE = 5,
    SPELL_AURA_MOD_CHARM = 6,
    SPELL_AURA_MOD_FEAR = 7,
    SPELL_AURA_PERIODIC_HEAL = 8,
    SPELL_AURA_MOD_ATTACKSPEED = 9,
    SPELL_AURA_MOD_THREAT = 10,
    SPELL_AURA_MOD_TAUNT = 11,
    SPELL_AURA_MOD_STUN = 12,
    SPELL_AURA_MOD_DAMAGE_DONE = 13,
    SPELL_AURA_MOD_DAMAGE_TAKEN = 14,
    SPELL_AURA_DAMAGE_SHIELD = 15,
    SPELL_AURA_MOD_STEALTH = 16,
    SPELL_AURA_MOD_STEALTH_DETECT = 17,
    SPELL_AURA_MOD_INVISIBILITY = 18,
    SPELL_AURA_MOD_INVISIBILITY_DETECT = 19,
    SPELL_AURA_OBS_MOD_HEALTH = 20,   // 20, 21 unofficial
    SPELL_AURA_OBS_MOD_POWER = 21,
    SPELL_AURA_MOD_RESISTANCE = 22,
    SPELL_AURA_PERIODIC_TRIGGER_SPELL = 23,
    SPELL_AURA_PERIODIC_ENERGIZE = 24,
    SPELL_AURA_MOD_PACIFY = 25,
    SPELL_AURA_MOD_ROOT = 26,
    SPELL_AURA_MOD_SILENCE = 27,
    SPELL_AURA_REFLECT_SPELLS = 28,
    SPELL_AURA_MOD_STAT = 29,
    SPELL_AURA_MOD_SKILL = 30,
    SPELL_AURA_MOD_INCREASE_SPEED = 31,
    SPELL_AURA_MOD_INCREASE_MOUNTED_SPEED = 32,
    SPELL_AURA_MOD_DECREASE_SPEED = 33,
    SPELL_AURA_MOD_INCREASE_HEALTH = 34,
    SPELL_AURA_MOD_INCREASE_MAX_POWER_FLAT = 35,
    SPELL_AURA_MOD_SHAPESHIFT = 36,
    SPELL_AURA_EFFECT_IMMUNITY = 37,
    SPELL_AURA_STATE_IMMUNITY = 38,
    SPELL_AURA_SCHOOL_IMMUNITY = 39,
    SPELL_AURA_DAMAGE_IMMUNITY = 40,
    SPELL_AURA_DISPEL_IMMUNITY = 41,
    SPELL_AURA_PROC_TRIGGER_SPELL = 42,
    SPELL_AURA_PROC_TRIGGER_DAMAGE = 43,
    SPELL_AURA_TRACK_CREATURES = 44,
    SPELL_AURA_TRACK_RESOURCES = 45,
    SPELL_AURA_46 = 46,   // Ignore all Gear test spells
    SPELL_AURA_MOD_PARRY_PERCENT = 47,
    SPELL_AURA_48 = 48,   // One periodic spell
    SPELL_AURA_MOD_DODGE_PERCENT = 49,
    SPELL_AURA_MOD_CRITICAL_HEALING_AMOUNT = 50,
    SPELL_AURA_MOD_BLOCK_PERCENT = 51,
    SPELL_AURA_MOD_WEAPON_CRIT_PERCENT = 52,
    SPELL_AURA_PERIODIC_LEECH = 53,
    SPELL_AURA_MOD_HIT_CHANCE = 54,
    SPELL_AURA_MOD_SPELL_HIT_CHANCE = 55,
    SPELL_AURA_TRANSFORM = 56,
    SPELL_AURA_MOD_SPELL_CRIT_CHANCE = 57,
    SPELL_AURA_MOD_INCREASE_SWIM_SPEED = 58,
    SPELL_AURA_MOD_DAMAGE_DONE_CREATURE = 59,
    SPELL_AURA_MOD_PACIFY_SILENCE = 60,
    SPELL_AURA_MOD_SCALE = 61,
    SPELL_AURA_PERIODIC_HEALTH_FUNNEL = 62,
    SPELL_AURA_63 = 63,   // old SPELL_AURA_PERIODIC_MANA_FUNNEL
    SPELL_AURA_PERIODIC_MANA_LEECH = 64,
    SPELL_AURA_MOD_CASTING_SPEED_NOT_STACK = 65,
    SPELL_AURA_FEIGN_DEATH = 66,
    SPELL_AURA_MOD_DISARM = 67,
    SPELL_AURA_MOD_STALKED = 68,
    SPELL_AURA_SCHOOL_ABSORB = 69,
    SPELL_AURA_EXTRA_ATTACKS = 70,
    SPELL_AURA_71 = 71,   // old SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL. unused  5.4.8
    SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT = 72,
    SPELL_AURA_MOD_POWER_COST_SCHOOL = 73,
    SPELL_AURA_REFLECT_SPELLS_SCHOOL = 74,
    SPELL_AURA_MOD_LANGUAGE = 75,
    SPELL_AURA_FAR_SIGHT = 76,
    SPELL_AURA_MECHANIC_IMMUNITY = 77,
    SPELL_AURA_MOUNTED = 78,
    SPELL_AURA_MOD_DAMAGE_PERCENT_DONE = 79,
    SPELL_AURA_MOD_PERCENT_STAT = 80,
    SPELL_AURA_SPLIT_DAMAGE_PCT = 81,
    SPELL_AURA_WATER_BREATHING = 82,
    SPELL_AURA_MOD_BASE_RESISTANCE = 83,
    SPELL_AURA_MOD_REGEN = 84,
    SPELL_AURA_MOD_POWER_REGEN = 85,
    SPELL_AURA_CHANNEL_DEATH_ITEM = 86,
    SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN = 87,
    SPELL_AURA_MOD_HEALTH_REGEN_PERCENT = 88,
    SPELL_AURA_PERIODIC_DAMAGE_PERCENT = 89,
    SPELL_AURA_90 = 90,   // old SPELL_AURA_MOD_RESIST_CHANCE
    SPELL_AURA_MOD_DETECT_RANGE = 91,
    SPELL_AURA_PREVENTS_FLEEING = 92,
    SPELL_AURA_MOD_UNATTACKABLE = 93,
    SPELL_AURA_INTERRUPT_REGEN = 94,
    SPELL_AURA_GHOST = 95,
    SPELL_AURA_SPELL_MAGNET = 96,
    SPELL_AURA_MANA_SHIELD = 97,
    SPELL_AURA_MOD_SKILL_TALENT = 98,
    SPELL_AURA_MOD_ATTACK_POWER = 99,
    SPELL_AURA_AURAS_VISIBLE = 100,
    SPELL_AURA_MOD_RESISTANCE_PCT = 101,
    SPELL_AURA_MOD_MELEE_ATTACK_POWER_VERSUS = 102,
    SPELL_AURA_MOD_TOTAL_THREAT = 103,
    SPELL_AURA_WATER_WALK = 104,
    SPELL_AURA_FEATHER_FALL = 105,
    SPELL_AURA_HOVER = 106,
    SPELL_AURA_ADD_FLAT_MODIFIER = 107,
    SPELL_AURA_ADD_PCT_MODIFIER = 108,
    SPELL_AURA_ADD_TARGET_TRIGGER = 109,
    SPELL_AURA_MOD_POWER_REGEN_PERCENT = 110,
    SPELL_AURA_ADD_CASTER_HIT_TRIGGER = 111,
    SPELL_AURA_OVERRIDE_CLASS_SCRIPTS = 112,
    SPELL_AURA_MOD_RANGED_DAMAGE_TAKEN = 113,
    SPELL_AURA_MOD_RANGED_DAMAGE_TAKEN_PCT = 114,
    SPELL_AURA_MOD_HEALING = 115,
    SPELL_AURA_MOD_REGEN_DURING_COMBAT = 116,
    SPELL_AURA_MOD_MECHANIC_RESISTANCE = 117,
    SPELL_AURA_MOD_HEALING_PCT = 118,
    SPELL_AURA_119 = 119,  // old SPELL_AURA_SHARE_PET_TRACKING
    SPELL_AURA_UNTRACKABLE = 120,
    SPELL_AURA_EMPATHY = 121,
    SPELL_AURA_MOD_OFFHAND_DAMAGE_PCT = 122,
    SPELL_AURA_MOD_TARGET_RESISTANCE = 123,
    SPELL_AURA_MOD_RANGED_ATTACK_POWER = 124,
    SPELL_AURA_MOD_MELEE_DAMAGE_TAKEN = 125,
    SPELL_AURA_MOD_MELEE_DAMAGE_TAKEN_PCT = 126,
    SPELL_AURA_RANGED_ATTACK_POWER_ATTACKER_BONUS = 127,
    SPELL_AURA_MOD_POSSESS_PET = 128,
    SPELL_AURA_MOD_SPEED_ALWAYS = 129,
    SPELL_AURA_MOD_MOUNTED_SPEED_ALWAYS = 130,
    SPELL_AURA_MOD_RANGED_ATTACK_POWER_VERSUS = 131,
    SPELL_AURA_MOD_INCREASE_ENERGY_PERCENT = 132,
    SPELL_AURA_MOD_INCREASE_HEALTH_PERCENT = 133,
    SPELL_AURA_MOD_MANA_REGEN_INTERRUPT = 134,
    SPELL_AURA_MOD_HEALING_DONE = 135,
    SPELL_AURA_MOD_HEALING_DONE_PERCENT = 136,
    SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE = 137,
    SPELL_AURA_MOD_MELEE_HASTE = 138,
    SPELL_AURA_FORCE_REACTION = 139,
    SPELL_AURA_MOD_RANGED_HASTE = 140,
    SPELL_AURA_141 = 141,  // old SPELL_AURA_MOD_RANGED_AMMO_HASTE, unused now
    SPELL_AURA_MOD_BASE_RESISTANCE_PCT = 142,
    SPELL_AURA_MOD_RESISTANCE_EXCLUSIVE = 143,
    SPELL_AURA_SAFE_FALL = 144,
    SPELL_AURA_MOD_PET_TALENT_POINTS = 145,
    SPELL_AURA_ALLOW_TAME_PET_TYPE = 146,
    SPELL_AURA_MECHANIC_IMMUNITY_MASK = 147,
    SPELL_AURA_RETAIN_COMBO_POINTS = 148,
    SPELL_AURA_REDUCE_PUSHBACK = 149,  //    Reduce Pushback
    SPELL_AURA_MOD_SHIELD_BLOCKVALUE_PCT = 150,
    SPELL_AURA_TRACK_STEALTHED = 151,  //    Track Stealthed
    SPELL_AURA_MOD_DETECTED_RANGE = 152,  //    Mod Detected Range
    SPELL_AURA_153 = 153,  // old SPELL_AURA_SPLIT_DAMAGE_FLAT. unused 4.3.4
    SPELL_AURA_MOD_STEALTH_LEVEL = 154,  //    Stealth Level Modifier
    SPELL_AURA_155 = 155,  // old SPELL_AURA_MOD_WATER_BREATHING. unused 5.4.8
    SPELL_AURA_MOD_REPUTATION_GAIN = 156,  //    Mod Reputation Gain
    SPELL_AURA_157 = 157,  // old SPELL_AURA_PET_DAMAGE_MULTI. unused 5.4.8
    SPELL_AURA_MOD_SHIELD_BLOCKVALUE = 158,
    SPELL_AURA_NO_PVP_CREDIT = 159,
    SPELL_AURA_160 = 160,  // old SPELL_AURA_MOD_AOE_AVOIDANCE. Unused 4.3.4
    SPELL_AURA_MOD_HEALTH_REGEN_IN_COMBAT = 161,
    SPELL_AURA_POWER_BURN = 162,
    SPELL_AURA_MOD_CRIT_DAMAGE_BONUS = 163,
    SPELL_AURA_164 = 164,
    SPELL_AURA_MELEE_ATTACK_POWER_ATTACKER_BONUS = 165,
    SPELL_AURA_MOD_ATTACK_POWER_PCT = 166,
    SPELL_AURA_MOD_RANGED_ATTACK_POWER_PCT = 167,
    SPELL_AURA_MOD_DAMAGE_DONE_VERSUS = 168,
    SPELL_AURA_169 = 169,  // old SPELL_AURA_MOD_CRIT_PERCENT_VERSUS. unused 4.3.4
    SPELL_AURA_DETECT_AMORE = 170,
    SPELL_AURA_MOD_SPEED_NOT_STACK = 171,
    SPELL_AURA_MOD_MOUNTED_SPEED_NOT_STACK = 172,
    SPELL_AURA_173 = 173,  // old SPELL_AURA_ALLOW_CHAMPION_SPELLS
    SPELL_AURA_MOD_SPELL_DAMAGE_OF_STAT_PERCENT = 174,  // by defeult intelect, dependent from SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT
    SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT = 175,
    SPELL_AURA_SPIRIT_OF_REDEMPTION = 176,
    SPELL_AURA_AOE_CHARM = 177,
    SPELL_AURA_178 = 178,  // old SPELL_AURA_MOD_DEBUFF_RESISTANCE, unused
    SPELL_AURA_MOD_ATTACKER_SPELL_CRIT_CHANCE = 179,
    SPELL_AURA_MOD_FLAT_SPELL_DAMAGE_VERSUS = 180,
    SPELL_AURA_181 = 181,  // old SPELL_AURA_MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS - possible flat spell crit damage versus
    SPELL_AURA_182 = 182,  // old SPELL_AURA_MOD_RESISTANCE_OF_STAT_PERCENT. unused 5.4.8
    SPELL_AURA_MOD_CRITICAL_THREAT = 183,
    SPELL_AURA_MOD_ATTACKER_MELEE_HIT_CHANCE = 184,
    SPELL_AURA_MOD_ATTACKER_RANGED_HIT_CHANCE = 185,
    SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE = 186,
    SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_CHANCE = 187,
    SPELL_AURA_188 = 188,  // old SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_CHANCE. unused 5.4.8
    SPELL_AURA_MOD_RATING = 189,
    SPELL_AURA_MOD_FACTION_REPUTATION_GAIN = 190,
    SPELL_AURA_USE_NORMAL_MOVEMENT_SPEED = 191,
    SPELL_AURA_MOD_MELEE_RANGED_HASTE = 192,
    SPELL_AURA_MELEE_SLOW = 193,
    SPELL_AURA_MOD_TARGET_ABSORB_SCHOOL = 194,
    SPELL_AURA_MOD_TARGET_ABILITY_ABSORB_SCHOOL = 195,
    SPELL_AURA_MOD_COOLDOWN = 196,  // only 24818 Noxious Breath
    SPELL_AURA_MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE = 197,
    SPELL_AURA_198 = 198,  // old SPELL_AURA_MOD_ALL_WEAPON_SKILLS
    SPELL_AURA_199 = 199,  // old SPELL_AURA_MOD_INCREASES_SPELL_PCT_TO_HIT. unused 4.3.4
    SPELL_AURA_MOD_XP_PCT = 200,
    SPELL_AURA_FLY = 201,
    SPELL_AURA_IGNORE_COMBAT_RESULT = 202,
    SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_DAMAGE = 203,
    SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_DAMAGE = 204,
    SPELL_AURA_MOD_SCHOOL_CRIT_DMG_TAKEN = 205,
    SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED = 206,
    SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED = 207,
    SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED = 208,
    SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS = 209,
    SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS = 210,
    SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK = 211,
    SPELL_AURA_212 = 212,  // old SPELL_AURA_MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT. unused 4.3.4
    SPELL_AURA_MOD_RAGE_FROM_DAMAGE_DEALT = 213,
    SPELL_AURA_214 = 214,
    SPELL_AURA_ARENA_PREPARATION = 215,
    SPELL_AURA_HASTE_SPELLS = 216,
    SPELL_AURA_MOD_MELEE_HASTE_2 = 217,
    SPELL_AURA_HASTE_RANGED = 218,
    SPELL_AURA_219 = 219,  // old SPELL_AURA_MOD_MANA_REGEN_FROM_STAT. unused 5.4.8
    SPELL_AURA_MOD_RATING_FROM_STAT = 220,
    SPELL_AURA_MOD_DETAUNT = 221,
    SPELL_AURA_222 = 222,
    SPELL_AURA_RAID_PROC_FROM_CHARGE = 223,
    SPELL_AURA_224 = 224,
    SPELL_AURA_RAID_PROC_FROM_CHARGE_WITH_VALUE = 225,
    SPELL_AURA_PERIODIC_DUMMY = 226,
    SPELL_AURA_PERIODIC_TRIGGER_SPELL_WITH_VALUE = 227,
    SPELL_AURA_DETECT_STEALTH = 228,
    SPELL_AURA_MOD_AOE_DAMAGE_AVOIDANCE = 229,
    SPELL_AURA_MOD_MAX_HEALTH = 230,
    SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE = 231,
    SPELL_AURA_MECHANIC_DURATION_MOD = 232,
    SPELL_AURA_CHANGE_MODEL_FOR_ALL_HUMANOIDS = 233,  // client-side only
    SPELL_AURA_MECHANIC_DURATION_MOD_NOT_STACK = 234,
    SPELL_AURA_MOD_DISPEL_RESIST = 235,
    SPELL_AURA_CONTROL_VEHICLE = 236,
    SPELL_AURA_237 = 237,  // old SPELL_AURA_MOD_SPELL_DAMAGE_OF_ATTACK_POWER. unused 5.4.8
    SPELL_AURA_238 = 238,  // old SPELL_AURA_MOD_SPELL_HEALING_OF_ATTACK_POWER. unused 5.4.8
    SPELL_AURA_MOD_SCALE_2 = 239,
    SPELL_AURA_MOD_EXPERTISE = 240,
    SPELL_AURA_FORCE_MOVE_FORWARD = 241,
    SPELL_AURA_242 = 242,  // old SPELL_AURA_MOD_SPELL_DAMAGE_FROM_HEALING. unused 5.4.8
    SPELL_AURA_MOD_FACTION = 243,
    SPELL_AURA_COMPREHEND_LANGUAGE = 244,
    SPELL_AURA_MOD_AURA_DURATION_BY_DISPEL = 245,
    SPELL_AURA_246 = 246,  // old SPELL_AURA_MOD_AURA_DURATION_BY_DISPEL_NOT_STACK. unused 5.4.8
    SPELL_AURA_CLONE_CASTER = 247,
    SPELL_AURA_MOD_COMBAT_RESULT_CHANCE = 248,
    SPELL_AURA_CONVERT_RUNE = 249,
    SPELL_AURA_MOD_INCREASE_HEALTH_2 = 250,
    SPELL_AURA_MOD_ENEMY_DODGE = 251,
    SPELL_AURA_MOD_SPEED_SLOW_ALL = 252,
    SPELL_AURA_MOD_BLOCK_CRIT_CHANCE = 253,
    SPELL_AURA_MOD_DISARM_OFFHAND = 254,
    SPELL_AURA_MOD_MECHANIC_DAMAGE_TAKEN_PERCENT = 255,
    SPELL_AURA_256 = 256,  // old SPELL_AURA_NO_REAGENT_USE. unused 5.4.8
    SPELL_AURA_257 = 257,  // old SPELL_AURA_MOD_TARGET_RESIST_BY_SPELL_CLASS. unused 5.4.8
    SPELL_AURA_258 = 258,
    SPELL_AURA_MOD_HOT_PCT = 259,
    SPELL_AURA_SCREEN_EFFECT = 260,
    SPELL_AURA_PHASE = 261,
    SPELL_AURA_ABILITY_IGNORE_AURASTATE = 262,
    SPELL_AURA_ALLOW_ONLY_ABILITY = 263,
    SPELL_AURA_264 = 264,
    SPELL_AURA_265 = 265,
    SPELL_AURA_266 = 266,
    SPELL_AURA_MOD_IMMUNE_AURA_APPLY_SCHOOL = 267,
    SPELL_AURA_268 = 268,  // old SPELL_AURA_MOD_ATTACK_POWER_OF_STAT_PERCENT. unused 4.3.4
    SPELL_AURA_MOD_IGNORE_TARGET_RESIST = 269,
    SPELL_AURA_270 = 270,  // old SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST, unused 4.3.4
    SPELL_AURA_MOD_DAMAGE_FROM_CASTER = 271,
    SPELL_AURA_IGNORE_MELEE_RESET = 272,
    SPELL_AURA_X_RAY = 273,
    SPELL_AURA_274 = 274,  // old SPELL_AURA_ABILITY_CONSUME_NO_AMMO, unused 4.3.4
    SPELL_AURA_MOD_IGNORE_SHAPESHIFT = 275,
    SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC = 276,
    SPELL_AURA_277 = 277,  // old SPELL_AURA_MOD_MAX_AFFECTED_TARGETS. unused 4.3.4
    SPELL_AURA_MOD_DISARM_RANGED = 278,
    SPELL_AURA_INITIALIZE_IMAGES = 279,
    SPELL_AURA_MOD_ARMOR_PENETRATION_PCT = 280,  // 5.4.8 (125359 Tiger Power)
    SPELL_AURA_MOD_HONOR_GAIN_PCT = 281,
    SPELL_AURA_MOD_BASE_HEALTH_PCT = 282,
    SPELL_AURA_MOD_HEALING_RECEIVED = 283,  // Possibly only for some spell family class spells
    SPELL_AURA_LINKED = 284,
    SPELL_AURA_285 = 285,  // old SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR. unused 5.4.8
    SPELL_AURA_ABILITY_PERIODIC_CRIT = 286,
    SPELL_AURA_DEFLECT_SPELLS = 287,
    SPELL_AURA_IGNORE_HIT_DIRECTION = 288,
    SPELL_AURA_289 = 289,
    SPELL_AURA_MOD_CRIT_PCT = 290,
    SPELL_AURA_MOD_XP_QUEST_PCT = 291,
    SPELL_AURA_292 = 292,  // old SPELL_AURA_OPEN_STABLE. unused 5.4.8
    SPELL_AURA_OVERRIDE_SPELLS = 293,
    SPELL_AURA_PREVENT_REGENERATE_POWER = 294,
    SPELL_AURA_295 = 295,
    SPELL_AURA_SET_VEHICLE_ID = 296,
    SPELL_AURA_BLOCK_SPELL_FAMILY = 297,
    SPELL_AURA_STRANGULATE = 298,
    SPELL_AURA_299 = 299,
    SPELL_AURA_SHARE_DAMAGE_PCT = 300,
    SPELL_AURA_SCHOOL_HEAL_ABSORB = 301,
    SPELL_AURA_302 = 302,
    SPELL_AURA_MOD_DAMAGE_DONE_VERSUS_AURASTATE = 303,
    SPELL_AURA_MOD_FAKE_INEBRIATE = 304,
    SPELL_AURA_MOD_MINIMUM_SPEED = 305,
    SPELL_AURA_306 = 306,
    SPELL_AURA_307 = 307,
    SPELL_AURA_MOD_CRIT_CHANCE_FOR_CASTER = 308,
    SPELL_AURA_309 = 309,
    SPELL_AURA_MOD_CREATURE_AOE_DAMAGE_AVOIDANCE = 310,
    SPELL_AURA_311 = 311,
    SPELL_AURA_ANIM_REPLACEMENT_SET = 312,
    SPELL_AURA_313 = 313,  // Not used in 4.3.4 - related to mounts
    SPELL_AURA_PREVENT_RESURRECTION = 314,
    SPELL_AURA_UNDERWATER_WALKING = 315,
    SPELL_AURA_316 = 316,
    SPELL_AURA_MOD_SPELL_POWER_PCT = 317,
    SPELL_AURA_MASTERY = 318,
    SPELL_AURA_MOD_MELEE_HASTE_3 = 319,
    SPELL_AURA_MOD_RANGED_HASTE_2 = 320,
    SPELL_AURA_321 = 321,
    SPELL_AURA_INTERFERE_TARGETTING = 322,  // NYI
    SPELL_AURA_323 = 323,  // Not used in 4.3.4
    SPELL_AURA_324 = 324,  // spell critical chance (probably by school mask)
    SPELL_AURA_325 = 325,  // Not used in 4.3.4
    SPELL_AURA_PHASE_GROUP = 326,  // phase related
    SPELL_AURA_327 = 327,  // Not used in 4.3.4
    SPELL_AURA_PROC_ON_POWER_AMOUNT = 328,
    SPELL_AURA_MOD_RUNE_REGEN_SPEED = 329,  // NYI
    SPELL_AURA_CAST_WHILE_WALKING = 330,
    SPELL_AURA_FORCE_WEATHER = 331,
    SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS = 332,
    SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS_2 = 333,
    SPELL_AURA_MOD_BLIND = 334,  // NYI
    SPELL_AURA_335 = 335,
    SPELL_AURA_MOD_FLYING_RESTRICTIONS = 336,  // NYI
    SPELL_AURA_MOD_VENDOR_ITEMS_PRICES = 337,
    SPELL_AURA_MOD_DURABILITY_LOSS = 338,
    SPELL_AURA_INCREASE_SKILL_GAIN_CHANCE = 339,  // NYI
    SPELL_AURA_MOD_RESURRECTED_HEALTH_BY_GUILD_MEMBER = 340,  // Increases health gained when resurrected by a guild member by X
    SPELL_AURA_MOD_SPELL_CATEGORY_COOLDOWN = 341,  // Modifies cooldown of all spells using affected category
    SPELL_AURA_MOD_MELEE_RANGED_HASTE_2 = 342,
    SPELL_AURA_343 = 343,
    SPELL_AURA_MOD_AUTOATTACK_DAMAGE = 344,  // NYI
    SPELL_AURA_BYPASS_ARMOR_FOR_CASTER = 345,
    SPELL_AURA_ENABLE_ALT_POWER = 346,  // NYI
    SPELL_AURA_MOD_SPELL_COOLDOWN_BY_HASTE = 347,  // NYI
    SPELL_AURA_DEPOSIT_BONUS_MONEY_IN_GUILD_BANK_ON_LOOT = 348,  // NYI
    SPELL_AURA_MOD_CURRENCY_GAIN = 349,
    SPELL_AURA_MOD_GATHERING_ITEMS_GAINED_PERCENT = 350,  // NYI
    SPELL_AURA_351 = 351,
    SPELL_AURA_ENABLE_WORGER_ALTERED_FORM = 352,
    SPELL_AURA_MOD_CAMOUFLAGE = 353,  // NYI
    SPELL_AURA_354 = 354,  // Restoration Shaman mastery - mod healing based on target's health (less = more healing)
    SPELL_AURA_355 = 355,
    SPELL_AURA_356 = 356,  // Arcane Mage mastery - mod damage based on current mana
    SPELL_AURA_ENABLE_BOSS1_UNIT_FRAME = 357,
    SPELL_AURA_WORGEN_ALTERED_FORM = 358,
    SPELL_AURA_359 = 359,
    SPELL_AURA_PROC_TRIGGER_SPELL_COPY = 360,  // Procs the same spell that caused this proc (Dragonwrath, Tarecgosa's Rest)
    SPELL_AURA_PROC_TRIGGER_SPELL_2 = 361,
    SPELL_AURA_362 = 362,  // Not used in 4.3.4
    SPELL_AURA_MOD_NEXT_SPELL = 363,  // Used by 101601 Throw Totem - causes the client to initialize spell cast with specified spell
    SPELL_AURA_364 = 364,  // Not used in 4.3.4
    SPELL_AURA_MAX_FAR_CLIP_PLANE = 365,  // Overrides client's View Distance setting to max("Fair", current_setting) and turns off terrain display
    SPELL_AURA_OVERRIDE_SPELL_POWER_BY_AP_PCT = 366,  // Sets spellpower equal to % of attack power, discarding all other bonuses (from gear and buffs)
    SPELL_AURA_OVERRIDE_AUTOATTACK_WITH_SPELL = 367,  // Use spell instead of an autoattack
    SPELL_AURA_368 = 368,  // Not used in 4.3.4
    SPELL_AURA_ENABLE_POWER_BAR_TIMER = 369,
    SPELL_AURA_SET_FAIR_FAR_CLIP = 370,  // Overrides client's View Distance setting to max("Fair", current_setting)
    // Pandaria
    SPELL_AURA_371 = 371,
    SPELL_AURA_372 = 372,
    SPELL_AURA_373 = 373,  // SPELL_AURA_ALLOW_ONLY_ABILITY2 ??
    SPELL_AURA_MODIFY_FALL_DAMAGE_PCT = 374,
    // 375 unusued
    SPELL_AURA_MOD_CURRENCY_GAIN2 = 376,
    SPELL_AURA_CAST_WHILE_WALKING2 = 377,
    // 378 unusued
    SPELL_AURA_379 = 379,
    // 380 unused
    SPELL_AURA_381 = 381,
    SPELL_AURA_382 = 382,
    SPELL_AURA_383 = 383,
    // 384 unused
    SPELL_AURA_385 = 385,
    SPELL_AURA_386 = 386,
    SPELL_AURA_387 = 387,
    SPELL_AURA_388 = 388,
    // 389 unused
    // 390 unused
    // 391 unused
    // 392 unused
    SPELL_AURA_393 = 393,
    SPELL_AURA_394 = 394,
    SPELL_AURA_395 = 395,
    SPELL_AURA_396 = 396,
    SPELL_AURA_397 = 397,
    SPELL_AURA_398 = 398,
    // 399 unused
    SPELL_AURA_MOD_SKILL_2 = 400,
    SPELL_AURA_401 = 401,
    SPELL_AURA_402 = 402,
    SPELL_AURA_403 = 403,
    SPELL_AURA_OVERRIDE_AP_BY_SPELL_POWER_PCT = 404,  // Sets attack power equal to % of spellpower
    SPELL_AURA_405 = 405,
    SPELL_AURA_406 = 406,
    SPELL_AURA_MOD_FEAR_2 = 407,
    SPELL_AURA_408 = 408,
    SPELL_AURA_409 = 409,
    SPELL_AURA_410 = 410,
    SPELL_AURA_411 = 411,
    SPELL_AURA_412 = 412,
    SPELL_AURA_413 = 413,
    SPELL_AURA_414 = 414,
    SPELL_AURA_415 = 415,
    SPELL_AURA_416 = 416,
    SPELL_AURA_417 = 417,
    SPELL_AURA_418 = 418,
    SPELL_AURA_419 = 419,
    SPELL_AURA_MOD_PET_XP_PCT = 420, // NYI
    SPELL_AURA_421 = 421,
    SPELL_AURA_422 = 422,
    SPELL_AURA_423 = 423,
    SPELL_AURA_424 = 424,
    // 425 unused
    SPELL_AURA_426 = 426,
    SPELL_AURA_427 = 427,
    SPELL_AURA_428 = 428,
    SPELL_AURA_429 = 429,
    SPELL_AURA_430 = 430,
    SPELL_AURA_431 = 431,
    SPELL_AURA_432 = 432,
    // 433 unused
    SPELL_AURA_434 = 434,
    // 435 unused
    SPELL_AURA_436 = 436,
    SPELL_AURA_437 = 437,
    TOTAL_AURAS = 438   // 5.4.2
};

enum AuraObjectType
{
    UNIT_AURA_TYPE,
    DYNOBJ_AURA_TYPE
};

#endif
